package com.eastfair.projectcore.service;

import com.eastfair.boot.service.SuperCacheService;
import com.eastfair.core.base.R;
import com.eastfair.projectcore.entity.Area;
import com.eastfair.projectcore.vo.AreaVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 *
 * </p>
 *
 * @author zjn
 * @date 2021-08-23
 */
public interface AreaService extends SuperCacheService<Area> {

    /**
     * 通过地区id查询电话区号
     *
     * @param id 地区id
     * @return 电话区号
     */
    String getPhoneCodeByAreaId(Integer id);

    /**
     * 根据区域级别查询地区列表
     *
     * @param level 区域级别
     * @return 地区列表
     */
    R<List<AreaVO>> getByLevel(String level);

    /**
     * 根据父级id查询一级子集
     *
     * @param parentId 父级id
     * @return 一级子集地区列表
     */
    R<List<AreaVO>> getByParent(Long parentId);


    /**
     * 根据区域级别查询地区列表
     *
     * @param area 区域
     * @return 地区列表
     */
    List<AreaVO> queryList(Area area);
}
